### 读入 ../config/action_types.json 和 ../config/action_components.json，输出 ../config/event_dict.json
### ../config/action_types.json 里，列表中的每个元素作为一个 key
### ../config/action_components.json 里，所有内容，也就是整个 list，作为 value
### 一个 key 对应一个 value，存入 dict

import os
import json

cur_dir = os.path.dirname(os.path.abspath(__file__))

event_dict = {}

with open(os.path.join(cur_dir, '../config/action_types.json'), 'r') as f:
    action_types = json.load(f)
    for action_type in action_types:
        with open(os.path.join(cur_dir, '../config/action_components.json'), 'r') as f:
            action_components = json.load(f)
            event_dict[action_type] = action_components
            # 暂时弃用：判断，如果是抽象动作，则用 action_components.json 中的抽象动作的组成部分，如果是具体动作（组合动作或原子动作），则用 action_components.json 中的具体动作的组成部分
            # action_components_of_a_type = json.load(f)
            # 如果 action_type 里包含 abstract，就用 action_components_of_a_type 里 "abstract action" 键对应的 value（列表）作为 value
            # if "abstract" in action_type:
            #     event_dict[action_type] = action_components_of_a_type["abstract action"]
            # else:
            #     event_dict[action_type] = action_components_of_a_type["specific action"]

with open(os.path.join(cur_dir, '../config/event_dict.json'), 'w') as f:
    json.dump(event_dict, f, ensure_ascii=False, indent=4)
    print(f"文件已保存到 ../config/event_dict.json")
